package ru.ssau.customerManagement.view;
import org.apache.commons.lang.StringUtils;

import  java.util.regex.*;

/**
 * Created by 1 on 03.12.2014.
 */
public class ParseValuesImpl implements ParseValues{
    private static final String ID_PATTERN = "^\\s*[0-9]{1,19}\\s*$";
    private static final String NAME_PATTERN = "^[a-z|A-Z|а-я|А-Я]*\\s*[a-z|A-Z|а-я|А-Я]*\\s*[a-z|A-Z|а-я|А-Я]+$"; //Имя Фамилия или только Имя/Фамилия
    private static final String LOCATION_PATTERN = "^([a-z|A-Z|а-я|А-Я]*[\\.|\\s]?\\s?[a-z|A-Z|а-я|А-Я]*[,|\\s]\\s*){1,2}[д|Д]?\\.?\\s*\\d+[-|\\s|,]\\s*(кв|КВ)?\\.?\\s*\\d+$"; //Город-необязательно, улица, дом 88 или д. 88 или д 88 или 88
                                                                                                                    //-55 или кв 55 или кв. 55 или кв55

    public boolean validateId(String value)
    {
        Pattern p = Pattern.compile(ID_PATTERN);
        Matcher m = p.matcher(value);
        return m.matches();
    }

    public boolean validateName(String value)
    {
        Pattern p = Pattern.compile(NAME_PATTERN);
        Matcher m = p.matcher(value);
        return m.matches();
    }

    public boolean validateLocation(String value)
    {
        Pattern p = Pattern.compile(LOCATION_PATTERN);
        Matcher m = p.matcher(value);
        return m.matches();
    }

    public boolean isEmpty(String value)
    {
        return  StringUtils.isBlank(value);
    }
}




